/***********************************************************************************
Copy right:	    Coffee Tech.
Author:         jiaoyue
Date:           2022-03-24
Description:    http请求自定义处理部分
***********************************************************************************/

#ifndef CUSTOM_HANDLE_H
#define CUSTOM_HANDLE_H

#include <stdio.h>
#include <string.h>
#include <sys/msg.h> 

typedef struct
{
    int key;
    char name[32];
    int type;
    int typeStata;
    int value;
    float floatValue;
} Stm32Data;

typedef struct
{
    int key;
    char name[32];
    int addr;
    int type;
    int typeStata;
    int value;
} ModbusData;

typedef struct
{
    int key;
    char name[32];
    int type;
    int typeStata;
    int addr;
    int value;
} MetaServerData;

typedef struct
{
    Stm32Data stm32_list[8];   // 固定数组，存储stm32数据
    int stm32_count;           // 实际有效数量
    ModbusData modbus_list[6]; // 固定数组，存储modbus数据
    int modbus_count;
    MetaServerData meta_list[7]; // 固定数组，存储metaServer数据
    int meta_count;
} DeviceData;

// 消息队列结构体
struct msgbuf
{
    long mtype;      // 消息类型（用于区分设备类型）
    char mdata[512];   // 消息内容（存储JSON格式的控制指令）
};



int parse_and_process(int sock, const char *query_string, const char *input);
DeviceData* init_shared_memory(); 

#endif  // CUSTOM_HANDLE_H
